package com.src.utiles;

import com.src.pojos.Cls_Menu;
import java.util.ArrayList;

public class Cls_Utilitarios {
    public static ArrayList<Cls_Nodo> converToArray(ArrayList<Cls_Menu> menus){
        ArrayList<Cls_Nodo> mimenu = new ArrayList<Cls_Nodo>();
        Cls_Nodo n;
        for(Cls_Menu menu:menus){
            if( menu.getPadre()== 0){
                n =  new Cls_Nodo(menu,null);
                mimenu.add(n);
            }else{
                int i = 0;
                boolean respuesta = false;
                int longitud = mimenu.size();
                while(i<longitud && !respuesta){
                    respuesta = agregarMenu(mimenu.get(i),menu);
                    if(!respuesta){
                        i=i+1;
                    }
                }
            }
        }
        return mimenu;
    }
    public static boolean agregarMenu(Cls_Nodo nodo,Cls_Menu menu){
        if(nodo.getData().getCodMenu() == menu.getPadre()){
            nodo.getHijos().add(new Cls_Nodo(menu,null));
            return true;
        }else{
            int i = 0;
            boolean respuesta = false;
            Cls_Nodo n;
            int longitud = nodo.getHijos().size();
            while(i<longitud){
                n = nodo.getHijos().get(i);
                respuesta = agregarMenu(n,menu);
                if (respuesta){
                    return respuesta;
                }else{
                    i=i+1;
                }
            }
        }
        return false;
    }
    public static String converToString(ArrayList<Cls_Nodo> nodos){
        String cadena = "";
        for(Cls_Nodo nodo:nodos){
            cadena = cadena + nodoToString(nodo);
        }
        return cadena;
    }
    public static String nodoToString(Cls_Nodo nodo){
        String respuesta = "";
        respuesta = "<li >";
        respuesta = respuesta + "<a href='"+nodo.getData().getUrl()+"'>"+nodo.getData().getDescripcion()+"</a>";
        if (nodo.getHijos().size()>0){
            respuesta = respuesta + "<ul >";
            for(Cls_Nodo n:nodo.getHijos()){
                respuesta = respuesta + nodoToString(n);
            }
            respuesta = respuesta + "</ul>";
        }
        respuesta = respuesta+"</li>";
        return respuesta;
    }
    
    public static String cambiarOrdenFechaDeSql(String fecha) {
        String[] data_fecha = fecha.split("-");
        StringBuilder cadena = new StringBuilder();
        cadena.append(data_fecha[1] + "/");
        cadena.append(data_fecha[2] + "/");
        cadena.append(data_fecha[0]);
        return cadena.toString();
    }
}